screenshotRef
把已渲染的视图捕获为 UIImage。给任意视图挂上 screenshotRef,之后在该 ref 上调用
screenshot() 即可按需对这个视图(含其子视图)截图。
screenshotRef?: RefObject<ScreenshotMaker>
用 useRef 创建 ref 并传给你想捕获的视图。视图渲染后,ref.current 会被设为一个
ScreenshotMaker。
screenshot()返回UIImage;当视图尚未完成布局 / 不在屏幕上时返回null。- 在动作里调用(如按钮点击),不要在渲染过程中调用——视图必须先存在。
示例
捕获一张卡片并保存到相册:
说明
screenshotRef可用于任意视图;捕获的图片覆盖该视图及其全部子视图。- ref 在视图渲染后才被填充;首次渲染前读取返回
null。 - 编码结果用
Data.fromPNG(image)/Data.fromJPEG(image, quality),再用Photos.savePhoto保存,或用FileManager写入文件。 - 用
<Image image={...} />可直接显示捕获到的图片。
